package com.runa.rccprotocol.constant;

public class AppFunCode {

    public enum rnicAFN {
        AffirmDeny(0),//确认∕否认
        Reset(1),     //复位
        LinkInterfaceDetect(2), //链路接口检测
        SetParam(4),    //设置参数
        ControlCommand(5),//控制命令
        Standby(7),    //备用
        ReqTerminalConfig(9),//请求终端配置
        QueryParam(0xA),    //查询参数
        RequestDataOne(0xC),//请求I类数据（实时）
        RequestDataTwo(0xD),//请求II类数据（历史）
        RequestDataThree(0xE),//请求III类数据（事件）
        FileTransmission(0xF),    //文件传输
        DataForward(0x10),    //数据转发
        StandbyTwo(0xff);

        int code;
        rnicAFN(int code) {
            this.code = code;
        }

        public int getCode() {
            return code;
        }

        public static rnicAFN valueOf(int code) {
            for (rnicAFN afn : values()) {
                if (afn.code == code) return afn;
            }
            return StandbyTwo;
        }
    }

    public enum prmFunCode {
        PRM1_Reset(1),
        PRM1_UserData(4),
        PRM1_LinkTest(9),
        PRM1_RequestDataOne(10),
        PRM1_RequestDataTwo(11),

        PRM0_Affirm(0),
        PRM0_UserData(8),
        PRM0_Deny(9),
        PRM0_LinkStatus(11),

        Standby(0xff);

        private int code;
        prmFunCode(int code) {
            this.code = code;
        }

        public int getCode() {
            return code;
        }

        public static prmFunCode valueOf(int code) {
            for (prmFunCode funCode : values()) {
                if (funCode.code == code) return funCode;
            }
            return Standby;
        }
    }

}
